package com.liwei.lwmail.coupon;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/**
 * 一、nacos配置中心
 *     1.引入依赖注册与配置有不同的依赖
 *     2.创建bootstrap.properties
 *         spring.application.name=lwmail-coupon
           spring.cloud.nacos.config.server-addr=127.0.0.1:8848
 *     3.配置中心添加数据集（DataId）为   应用名.properties
 *     4.添加任何配置
 *     5.动态获取配置--配置中心的相同配置优先使用
 *        @RefreshScope
 *        @Value("${coupon.user.name}")
 *
 * 二、细节
 *     1.命名空间:用来配置隔离
 *         默认：public(保留空间)--默认新增配置都在这个命名空间
 *         1）开发、测试、生产
 *            bootstrap.properties中配置如下：
 *            spring.cloud.nacos.config.namespace=939953d0-f669-4945-a46a-2878b3c71958
 *         2）每个微服务之间隔离配置，创建自己的命名空间，只加载自己命名空间下的配置
 *
 *     2.配置集：所有配置的集合
 *
 *     3.配置集ID -- DataID--配置文件名--应用名.properties
 *
 *     4.配置分组
 *         默认所有配置集属于 DEFAULT_GROUP
 *
 *  总结：每个微服务 用 命名空间+配置分组 区分不同环境下的配置
 *       spring.cloud.nacos.config.namespace=4ebbfe35-df32-442b-8940-d787925ad32d
 *       spring.cloud.nacos.config.group=prod
 *
 * 三、同时加载多个配置集
 *    1.微服务的任何配置都可以放在配置中心中
 *    2.在 bootstrap.properties中指定加载哪些配置文件
 *    3.@Value ，@ConfigurationProperties 注解获取配置
 *
 */
@EnableDiscoveryClient//开启服务发现功能
@SpringBootApplication
public class LwmailCouponApplication {

	public static void main(String[] args) {
		SpringApplication.run(LwmailCouponApplication.class, args);
	}

}
